home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / C / Applications / Moscow ML 1.42 / src / !runtime / instruct.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-08-18  |  2.7 KB  |  216 lines  |  [TEXT/R*ch]

  1. /* The instruction set. */
  2.  
  3. /* --- The instruction set has been extended for Moscow ML! --- */
  4.  
  5. /* One instruction per line only. */
  6.  
  7. enum instructions {
  8.   CONSTBYTE,
  9.   CONSTSHORT,
  10.   SWITCH,
  11.   BRANCH,
  12.   BRANCHIF,
  13.   BRANCHIFNOT,
  14.   POPBRANCHIFNOT,
  15.   BRANCHIFNEQTAG,
  16.   BRANCHIFEQ,
  17.   BRANCHIFNEQ,
  18.   BRANCHIFLT,
  19.   BRANCHIFGT,
  20.   BRANCHIFLE,
  21.   BRANCHIFGE,
  22.   BRANCHINTERVAL,
  23.   C_CALL1,
  24.   C_CALL2,
  25.   C_CALL3,
  26.   C_CALL4,
  27.   C_CALL5,
  28.   C_CALLN,
  29.   MAKEBLOCK,
  30.   MAKEBLOCK1,
  31.   MAKEBLOCK2,
  32.   MAKEBLOCK3,
  33.   MAKEBLOCK4,
  34.   TAGOF,
  35.   ACCESS,
  36.   ACC0,
  37.   ACC1,
  38.   ACC2,
  39.   ACC3,
  40.   ACC4,
  41.   ACC5,
  42.   ACC6,
  43.   ACC7,
  44.   PUSHACC,
  45.   PUSHACC0,
  46.   PUSHACC1,
  47.   PUSHACC2,
  48.   PUSHACC3,
  49.   PUSHACC4,
  50.   PUSHACC5,
  51.   PUSHACC6,
  52.   PUSHACC7,
  53.   ENVACC,
  54.   ENV1,
  55.   ENV2,
  56.   ENV3,
  57.   ENV4,
  58.   ENV5,
  59.   ENV6,
  60.   ENV7,
  61.   PUSHENVACC,
  62.   PUSHENV1,
  63.   PUSHENV2,
  64.   PUSHENV3,
  65.   PUSHENV4,
  66.   PUSHENV5,
  67.   PUSHENV6,
  68.   PUSHENV7,
  69.   PUSH_ENV1_APPLY1,
  70.   PUSH_ENV1_APPLY2,
  71.   PUSH_ENV1_APPLY3,
  72.   PUSH_ENV1_APPLY4,
  73.   PUSH_ENV1_APPTERM1,
  74.   PUSH_ENV1_APPTERM2,
  75.   PUSH_ENV1_APPTERM3,
  76.   PUSH_ENV1_APPTERM4,
  77.   PUSHATOM,
  78.   ATOM,
  79.   PUSHATOM0,
  80.   ATOM0,
  81.   ATOM1,
  82.   ATOM2,
  83.   ATOM3,
  84.   ATOM4,
  85.   ATOM5,
  86.   ATOM6,
  87.   ATOM7,
  88.   ATOM8,
  89.   ATOM9,
  90.   CONSTINT,
  91.   PUSHCONSTINT,
  92.   CONST0,
  93.   CONST1,
  94.   CONST2,
  95.   CONST3,
  96.   PUSHCONST0,
  97.   PUSHCONST1,
  98.   PUSHCONST2,
  99.   PUSHCONST3,
  100.   GETFIELD,
  101.   GETFIELD0,
  102.   GETFIELD1,
  103.   GETFIELD2,
  104.   GETFIELD3,
  105.   GETFIELD0_0,
  106.   GETFIELD0_1,
  107.   GETFIELD1_0,
  108.   GETFIELD1_1,
  109.   SETFIELD,
  110.   SETFIELD0,
  111.   SETFIELD1,
  112.   SETFIELD2,
  113.   SETFIELD3,
  114.   GETGLOBAL,
  115.   PUSH_GETGLOBAL,
  116.   PUSH_GETGLOBAL_APPLY1,
  117.   PUSH_GETGLOBAL_APPLY2,
  118.   PUSH_GETGLOBAL_APPLY3,
  119.   PUSH_GETGLOBAL_APPLY4,
  120.   PUSH_GETGLOBAL_APPTERM1,
  121.   PUSH_GETGLOBAL_APPTERM2,
  122.   PUSH_GETGLOBAL_APPTERM3,
  123.   PUSH_GETGLOBAL_APPTERM4,
  124.   SETGLOBAL,
  125.   PUSH_RETADDR,
  126.   APPLY,
  127.   APPLY1,
  128.   APPLY2,
  129.   APPLY3,
  130.   APPLY4,
  131.   APPTERM,
  132.   APPTERM1,
  133.   APPTERM2,
  134.   APPTERM3,
  135.   APPTERM4,
  136.   RESTART,
  137.   GRAB,
  138.   RETURN1,
  139.   RETURN2,
  140.   RETURN,
  141.   CLOSURE,
  142.   CLOSREC,
  143.   DUMMY,
  144.   UPDATE,
  145.   PUSHTRAP,
  146.   RAISE,
  147.   POPTRAP,
  148.   SWAP,
  149.   PUSH,
  150.   POP,
  151.   ASSIGN,
  152.   BOOLNOT,
  153.   ADDINT,
  154.   SUBINT,
  155.   MULINT,
  156.   DIVINT,
  157.   MODINT,
  158.   ANDINT,
  159.   ORINT,
  160.   XORINT,
  161.   SHIFTLEFTINT,
  162.   SHIFTRIGHTINTSIGNED,
  163.   SHIFTRIGHTINTUNSIGNED,
  164.   EQ,
  165.   NEQ,
  166.   LTINT,
  167.   GTINT,
  168.   LEINT,
  169.   GEINT,
  170.   FLOATOFINT,
  171.   SMLNEGFLOAT,
  172.   SMLADDFLOAT,
  173.   SMLSUBFLOAT,
  174.   SMLMULFLOAT,
  175.   SMLDIVFLOAT,
  176.   INTOFFLOAT,
  177.   EQFLOAT,
  178.   NEQFLOAT,
  179.   LTFLOAT,
  180.   GTFLOAT,
  181.   LEFLOAT,
  182.   GEFLOAT,
  183.   STRINGLENGTH,
  184.   GETSTRINGCHAR,
  185.   SETSTRINGCHAR,
  186.   EQSTRING,
  187.   NEQSTRING,
  188.   LTSTRING,
  189.   GTSTRING,
  190.   LESTRING,
  191.   GESTRING,
  192.   MAKEVECTOR,
  193.   VECTLENGTH,
  194.   GETVECTITEM,
  195.   SETVECTITEM,
  196.   SMLNEGINT,
  197.   SMLSUCCINT,
  198.   SMLPREDINT,
  199.   SMLADDINT,
  200.   SMLSUBINT,
  201.   SMLMULINT,
  202.   SMLDIVINT,
  203.   SMLMODINT,
  204.   MAKEREFVECTOR,
  205.   SMLQUOTINT,
  206.   SMLREMINT,
  207.   CHECK_SIGNALS,
  208.   STOP,
  209.   EQUNSIGN,
  210.   NEQUNSIGN,
  211.   LTUNSIGN,
  212.   GTUNSIGN,
  213.   LEUNSIGN,
  214.   GEUNSIGN
  215. };
  216.